//模板作为模板类的参数
#include <iostream>
using namespace std;
//数组模板类
template<class T,int len>
class Array
{
public:
    T* data;//数据域
    int len_m=len;//数组长度
    void insert(){cout<<"增加数据"<<endl;}
    void pop(){cout<<"删除数据"<<endl;}
    void index(){cout<<"查找数据"<<endl;}
};
template<class T,int len>
class List{
public:
    T* data;//数据域
    int len_m=len;//数组长度
    void insert(){cout<<"增加数据"<<endl;}
    void pop(){cout<<"删除数据"<<endl;}
    void index(){cout<<"查找数据"<<endl;}
};
template<template<class,int>class T1,class T2,int len>
class LinearList{
public:
    T1<T2,len> t;
    void insert(){t.insert();}
    void pop(){t.pop();}
    void index(){t.index();}
};
int main()
{
    LinearList<Array,string,10> a;
    a.index();
    a.insert();
    a.pop();
    return 0;
}